DuckDB 回测引擎 因子/策略历史赚钱吗?
2025-08-22 ~ 2026-08-21
RSI 超卖反转(超跌反转)
242 交易日 · 前复权
标的池:159758.SZ
⚠️ 标的池验证版:本报告限定在 159758.SZ 单标的回测,交易笔数较少;专家分析文案(02/03/05/07 区)基于全市场回测撰写,仅作对照参考。
01策略说明
用户定义规则 · 五要素齐全(买入/卖出时机+仓位)· 执行口径标注
买入时机RSI14 < 30(超卖区),次日开盘买入
买入仓位满仓(单标的 100%,初始资金 100 万)
卖出时机RSI14 > 70(超买)或盈利 ≥8% 次日开盘卖出;最长持有 10 个交易日;或单日跌超 7% 止损
卖出仓位清仓(100%)
选股条件全市场 A 股,成交额 ≥1 亿(无人问津的小票不参与)
候选选择当日满足买入信号的全部股票中,选取「当日成交额最大」的 1 只(热度代理 [ASSUMED]);当日无候选则继续空仓等待
💡 策略本质:均值回归抄底——RSI<30 买入博反弹。A 股弱市里'超卖可以更超卖',+8% 止盈与 -16% 大亏的不对称是策略死穴。
02回测总览
模型输出 · [MODEL]
胜率最高 · 基本打平
近 1 年 24 笔:胜率 58.3%(10 策略最高)、盈亏比 0.76、总收益 -1.7%(接近打平)、回撤 -37.1%——超卖抄底胜率高但赚小亏大。
结论—— RSI 超卖反转近 1 年 -1.7%,24 笔中 14 笔盈利(胜率 58.3% 全场最高)——但盈亏比仅 0.76:+8% 止盈砍掉大反弹、超卖后继续阴跌的 -16% 大亏吃满,均值回归策略在 A 股弱市'赚小亏大'。
数据含义—— 平均盈 +6.7% vs 平均亏 -8.8%——止盈 7 笔(+8% 即跑)、持有到期 13 笔(10 天不涨即离场);兆易创新两笔 -16% 说明'超卖可以更超卖'(AI 高位股补跌)。
失败模式—— 13 笔持有 10 天到期(超卖后横盘不反弹,时间损耗)、7 笔 +8% 止盈(反弹启动即被止盈卖出)、3 笔单日 -7% 止损;24 笔年换手 24 次,资金效率低。
横向对比—— 10 策略排名第 4(-1.7%):唯一胜率超 50% 的策略,但盈亏比垫底(0.76)——反转策略的宿命:赚小钱亏大钱;与海龟(+79%/盈亏比 5.55)恰成镜像。
优化方向—— ①止盈放宽至 +15%(RSI 超卖反弹第一波往往只是开始)②超卖后连续 2 天创新低立即止损(接飞刀保护)③只做 RSI<30 且 60 日跌幅 >20% 的深度超卖(超跌越深反弹越强)④大盘 60 日线下空仓。
投资指导—— RSI 超卖策略胜率高但期望接近零——实盘需'深度超卖+大盘企稳'双条件才出手,止盈放到 +15%、单笔仓位 ≤30%,否则只是用 58% 的胜率赚手续费。
03收益与回撤
策略净值 vs 沪深300 · 收盘口径
💡 净值在 ±10% 窄幅震荡:胜率 58% 但每次赚 +6.7%、亏 -8.8%,24 笔滚下来几乎打平——高胜率低盈亏比策略的典型形态。
04交易明细
4 笔 · 卖出日=信号触发日次日开盘成交 · 候选=选股日满足买入信号的股票数(均选成交额最大者)
| # | 选股日 | 买入日 | 卖出日 | 触发日 | 股票 | 买价 | 卖价 | 收益 | 天数 | 候选 | 当前资金(¥) | 卖出原因 |
| 1 | 2025-11-14 | 2025-11-17 | 2025-12-02 | 2025-12-01 | 红利质量ETF华夏 159758.SZ | 1.046 | 1.03 | -1.56% | 11 | 1 | ¥984,404 | 持有10天到期 |
| 2 | 2025-12-03 | 2025-12-04 | 2025-12-19 | 2025-12-18 | 红利质量ETF华夏 159758.SZ | 1.015 | 1.011 | -0.42% | 11 | 1 | ¥980,229 | 持有10天到期 |
| 3 | 2026-03-09 | 2026-03-10 | 2026-03-25 | 2026-03-24 | 红利质量ETF华夏 159758.SZ | 1.08 | 1.056 | -2.25% | 11 | 1 | ¥958,152 | 持有10天到期 |
| 4 | 2026-05-29 | 2026-06-01 | 2026-06-16 | 2026-06-15 | 红利质量ETF华夏 159758.SZ | 1.073 | 1.084 | +1.00% | 11 | 1 | ¥967,687 | 持有10天到期 |
💡 24 笔中 14 笔盈利但平均仅 +6.7%(+8% 止盈砍断反弹),10 笔亏损中两笔兆易创新 -16%(超卖后继续暴跌)——'赚小钱亏大钱'导致 58% 胜率仍不赚钱。
05卖出原因分布
全部平仓口径 · 共 4 笔
💡 13 笔持有 10 天到期(54%)——超卖股多数横盘不反弹,时间损耗严重;7 笔 +8% 止盈又过早离场——止盈过紧+持有过久,两头都不讨好。
0610 策略横向对比
同一引擎同一区间 · 按总收益排序 · ★=当前策略
| 排名 | 策略 | 交易 | 胜率 | 盈亏比 | 总收益 | 最大回撤 | 年化 |
| 1 | 双均线金叉趋势跟随 趋势跟随 | 6 | 50.0% | 3.18 | +8.0% | -4.4% | +8.4% |
| 2 | MA20 放量突破 趋势跟随 | 2 | 50.0% | 1.88 | +1.9% | -4.1% | +2.0% |
| 3 | 海龟唐奇安通道突破 趋势跟随 | 4 | 50.0% | 1.12 | +1.4% | -8.9% | +1.4% |
| 4 | W底双底突破 形态反转 | 2 | 50.0% | 2.01 | +1.3% | -4.1% | +1.3% |
| 5 | 60日新低超跌反弹 超跌反转 | 1 | 100.0% | - | +1.0% | -1.4% | +1.0% |
| 6 | 涨停次日低吸 打板低吸 | 0 | 0% | - | +0.0% | 0.0% | +0.0% |
| 7 | 二连板打板接力 打板接力 | 0 | 0% | - | +0.0% | 0.0% | +0.0% |
| 8 | 120日新高强势追涨 动量追涨 | 3 | 0.0% | 0.00 | -3.2% | -5.9% | -3.3% |
| 9 | RSI 超卖反转 ★ 超跌反转 | 4 | 25.0% | 0.71 | -3.2% | -7.2% | -3.4% |
| 10 | 均线多头回踩 趋势回踩 | 6 | 16.7% | 1.20 | -3.5% | -7.0% | -3.6% |
| 11 | 布林带突破 波动突破 | 4 | 25.0% | 0.76 | -9.9% | -12.3% | -10.3% |
💡 全策略对比:RSI 超卖 -1.7%(胜率 58%/盈亏比 0.76)vs 海龟 +79%(胜率 29%/盈亏比 5.55)——胜率高的不赚钱、盈亏比高的赚钱,A 股结构性行情奖励'追强'而非'抄底'。
07优化建议与风险
基于回测证据 · 模型输出
优化建议(按优先级)
止盈放宽+8% 改 +15%(超卖反弹第一波 8% 只是起点,放宽让利润走)
接飞刀保护买入后连续 2 日创新低立即止损(不等 -7%,防深度超卖后暴跌)
深度超卖只做 RSI<30 且 60 日跌幅 >20% 的票(超跌越深、反弹越有空间)
大盘过滤上证 60 日线下不做抄底——弱市超卖反转信号失效
风险提示
高胜率低盈亏比组合(0.76)在手续费面前几乎无利可图
超卖后继续暴跌(接飞刀)是主要尾部风险,-16% 大亏均来自此
持有 10 天到期的资金效率低,年化收益被时间损耗摊薄
数据来源:同花顺金融数据(hithink-finance v0.1.5,本地 DuckDB v_daily_qfq 前复权日K + index history 沪深300 + symbol list 名称映射);回测区间 2025-08-22~2026-08-21(242 交易日);策略:RSI 超卖反转(超跌反转),五要素定义见 strategies.json;口径:涨停=前复权相邻日收益率(主板 ≥+9.8%、创业板/科创板 ≥+19.8%);RSI14 为 SMA 均值口径 [ASSUMED];布林=MA20±2σ(stddev_samp);唐奇安=前 20 日最高/前 10 日最低(不含当日);交易按开盘价成交、满仓单标的、含单边 0.03% 费率(印花税未含);当前资金=初始 100 万按每笔清仓收益滚动累计;总收益含期末未平仓浮动;卖出日=信号触发日(跌超/死叉/破位等)的下一交易日,按开盘价成交;候选=选股日满足买入信号的全部股票数,均选当日成交额最大者(热度代理 [ASSUMED])。回测结果为历史数据模拟 [MODEL],不代表未来表现。仅供研究参考,不构成个人投资建议。